- 0.0013 SELECT * FROM bbs_cache WHERE `k`='bbs_setting' LIMIT 1
- 0.0004 SELECT * FROM bbs_session WHERE `sid`='3qne40dajhddj5np51uc8g7re7' LIMIT 1
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_grouplist' LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0023 DELETE FROM bbs_cache WHERE `k`='bbs_forumlist'
- 0.0002 SELECT * FROM bbs_forum ORDER BY `rank` DESC LIMIT 0,1000
- 0.0002 SELECT * FROM bbs_user WHERE `uid`=4 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_4_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=4 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_4_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=4 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_4_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=4 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_4_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=4 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0025 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_forumlist','{
\"1\": {
\"fid\": 1,
\"name\": \"股市闲谈\",
\"rank\": 120,
\"threads\": 4,
\"todayposts\": 0,
\"todaythreads\": 0,
\"brief\": \"郑重声明:\\r\\n用户在量化吧发表的所有信息(包括但不限于文字、视频、音频、数据及图表)仅代表其个人观点,与本网站立场无关,不对您构成任何投资建议,据此操作风险自担。\",
\"announcement\": \"郑重声明:\\r\\n用户在量化吧发表的所有信息(包括但不限于文字、视频、音频、数据及图表)仅代表其个人观点,与本网站立场无关,不对您构成任何投资建议,据此操作风险自担。\",
\"accesson\": 0,
\"orderby\": 0,
\"create_date\": 0,
\"icon\": 1759366514,
\"moduids\": \"\",
\"seo_title\": \"\",
\"seo_keywords\": \"\",
\"create_date_fmt\": \"1970-1-1\",
\"icon_url\": \"upload/forum/1.png\",
\"accesslist\": [],
\"modlist\": []
},
\"2\": {
\"fid\": 2,
\"name\": \"python基础\",
\"rank\": 100,
\"threads\": 1,
\"todayposts\": 0,
\"todaythreads\": 0,
\"brief\": \"\",
\"announcement\": \"郑重声明:\\r\\n用户在量化吧发表的所有信息(包括但不限于文字、视频、音频、数据及图表)仅代表其个人观点,与本网站立场无关,不对您构成任何投资建议,据此操作风险自担。\",
\"accesson\": 0,
\"orderby\": 0,
\"create_date\": 0,
\"icon\": 1756542513,
\"moduids\": \"\",
\"seo_title\": \"\",
\"seo_keywords\": \"\",
\"create_date_fmt\": \"1970-1-1\",
\"icon_url\": \"upload/forum/2.png\",
\"accesslist\": [],
\"modlist\": []
},
\"3\": {
\"fid\": 3,
\"name\": \"QMT\",
\"rank\": 80,
\"threads\": 6,
\"todayposts\": 0,
\"todaythreads\": 0,
\"brief\": \"\",
\"announcement\": \"郑重声明:\\r\\n用户在量化吧发表的所有信息(包括但不限于文字、视频、音频、数据及图表)仅代表其个人观点,与本网站立场无关,不对您构成任何投资建议,据此操作风险自担。\",
\"accesson\": 0,
\"orderby\": 0,
\"create_date\": 0,
\"icon\": 0,
\"moduids\": \"\",
\"seo_title\": \"\",
\"seo_keywords\": \"\",
\"create_date_fmt\": \"1970-1-1\",
\"icon_url\": \"view/img/forum.png\",
\"accesslist\": [],
\"modlist\": []
},
\"4\": {
\"fid\": 4,
\"name\": \"Ptrade\",
\"rank\": 60,
\"threads\": 2,
\"todayposts\": 0,
\"todaythreads\": 0,
\"brief\": \"\",
\"announcement\": \"郑重声明:\\r\\n用户在量化吧发表的所有信息(包括但不限于文字、视频、音频、数据及图表)仅代表其个人观点,与本网站立场无关,不对您构成任何投资建议,据此操作风险自担。\",
\"accesson\": 0,
\"orderby\": 0,
\"create_date\": 0,
\"icon\": 0,
\"moduids\": \"\",
\"seo_title\": \"\",
\"seo_keywords\": \"\",
\"create_date_fmt\": \"1970-1-1\",
\"icon_url\": \"view/img/forum.png\",
\"accesslist\": [],
\"modlist\": []
},
\"5\": {
\"fid\": 5,
\"name\": \"策略分享\",
\"rank\": 40,
\"threads\": 1,
\"todayposts\": 0,
\"todaythreads\": 0,
\"brief\": \"\",
\"announcement\": \"郑重声明:\\r\\n用户在量化吧发表的所有信息(包括但不限于文字、视频、音频、数据及图表)仅代表其个人观点,与本网站立场无关,不对您构成任何投资建议,据此操作风险自担。\",
\"accesson\": 0,
\"orderby\": 0,
\"create_date\": 0,
\"icon\": 0,
\"moduids\": \"\",
\"seo_title\": \"\",
\"seo_keywords\": \"\",
\"create_date_fmt\": \"1970-1-1\",
\"icon_url\": \"view/img/forum.png\",
\"accesslist\": [],
\"modlist\": []
},
\"6\": {
\"fid\": 6,
\"name\": \"策略研讨\",
\"rank\": 20,
\"threads\": 1,
\"todayposts\": 0,
\"todaythreads\": 0,
\"brief\": \"\",
\"announcement\": \"郑重声明:\\r\\n用户在量化吧发表的所有信息(包括但不限于文字、视频、音频、数据及图表)仅代表其个人观点,与本网站立场无关,不对您构成任何投资建议,据此操作风险自担。\",
\"accesson\": 0,
\"orderby\": 0,
\"create_date\": 0,
\"icon\": 0,
\"moduids\": \"4\",
\"seo_title\": \"\",
\"seo_keywords\": \"\",
\"create_date_fmt\": \"1970-1-1\",
\"icon_url\": \"view/img/forum.png\",
\"accesslist\": [],
\"modlist\": {
\"4\": {
\"uid\": 4,
\"gid\": 1,
\"username\": \"财叔\",
\"threads\": 3,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"avatar\": 1760003271,
\"notices\": 17,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 2,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"groupname\": \"管理员组\",
\"avatar_url\": \"upload/avatar/000/4.png?1760003271\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/4.png?1760003271\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
}
}
},
\"7\": {
\"fid\": 7,
\"name\": \"公告\",
\"rank\": 10,
\"threads\": 2,
\"todayposts\": 0,
\"todaythreads\": 0,
\"brief\": \"\",
\"announcement\": \"\",
\"accesson\": 0,
\"orderby\": 0,
\"create_date\": 0,
\"icon\": 0,
\"moduids\": \"\",
\"seo_title\": \"\",
\"seo_keywords\": \"\",
\"create_date_fmt\": \"1970-1-1\",
\"icon_url\": \"view/img/forum.png\",
\"accesslist\": [],
\"modlist\": []
}
}','1762838506')
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_runtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_kv WHERE `k`='user_signature' LIMIT 1
- 0.0007 SELECT tid FROM bbs_thread WHERE (`fid`=1 OR `fid`=2 OR `fid`=3 OR `fid`=4 OR `fid`=5 OR `fid`=6 OR `fid`=7) ORDER BY `lastpid` DESC LIMIT 0,30
- 0.0002 SELECT * FROM bbs_thread WHERE (`tid`=38 OR `tid`=37 OR `tid`=21 OR `tid`=36 OR `tid`=35 OR `tid`=34 OR `tid`=33 OR `tid`=32 OR `tid`=28 OR `tid`=27 OR `tid`=22 OR `tid`=6 OR `tid`=5 OR `tid`=4 OR `tid`=3 OR `tid`=2 OR `tid`=1) ORDER BY `lastpid` DESC LIMIT 0,30
- 0.0002 SELECT * FROM bbs_user WHERE `uid`=1 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_1_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=1 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_1_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=1 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_1_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=1 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_1_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=1 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_user WHERE `uid`=10 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_10_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=10 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_10_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=10 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_10_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=10 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_10_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=10 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_user WHERE `uid`=8 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_8_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=8 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_8_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=8 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_8_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=8 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_8_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=8 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_user WHERE `uid`=15 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_15_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=15 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_15_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=15 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_15_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=15 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_15_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=15 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_user WHERE `uid`=3 LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_3_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=3 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_3_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=3 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_3_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=3 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_3_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=3 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_user WHERE `uid`=5 LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_5_status' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=5 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_5_message' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=5 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_5_time' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=5 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_fox_prison_5_endtime' LIMIT 1
- 0.0002 SELECT * FROM bbs_fox_prison WHERE `uid`=5 AND `status`=1 ORDER BY `id` DESC LIMIT 1
- 0.0002 SELECT * FROM bbs_thread_top WHERE `top`=3 ORDER BY `tid` DESC LIMIT 0,100
- 0.0003 SELECT * FROM bbs_thread WHERE (`tid`=28 OR `tid`=21) LIMIT 0,1000
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_till_news_ticker_css_ticker_magic_keyframes' LIMIT 1
- 0.0026 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_till_news_ticker_css_ticker_magic_keyframes','\"@keyframes TickerMagic {0%,100%,32%{margin-top:0em} /* 1 */\\n33%,66%{margin-top:-2.5em} /* 2 */\\n67%,99%{margin-top:-5em} /* 3 */\\n}\"','1762839886')
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_till_news_ticker_css_ticker_magic_duration' LIMIT 1
- 0.0021 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_till_news_ticker_css_ticker_magic_duration','\".tickerv-wrap ol {animation-duration:15s}\"','1762839886')
- 0.0005 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0002 SELECT * FROM bbs_cache WHERE `k`='bbs_forumlist' LIMIT 1
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_62' LIMIT 1
- 0.0024 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_62'
- 0.0002 SELECT * FROM bbs_post WHERE `pid`=62 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_38' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_38'
- 0.0003 SELECT * FROM bbs_thread WHERE `tid`=38 LIMIT 1
- 0.0023 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_38','{
\"fid\": 5,
\"tid\": 38,
\"top\": 0,
\"uid\": 1,
\"userip\": 2057195673,
\"subject\": \"图片上传测试\",
\"create_date\": 1762826753,
\"last_date\": 1762827979,
\"views\": 27,
\"posts\": 0,
\"images\": 8,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 62,
\"lastuid\": 0,
\"lastpid\": 62,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-11 10:05:53\",
\"last_date_fmt\": \"2025-11-11 10:26:19\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 6,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"策略分享\",
\"lastusername\": \"游客\",
\"url\": \"thread-38.htm\",
\"user_url\": \"user-1.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0035 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_62','{
\"tid\": 38,
\"pid\": 62,
\"uid\": 1,
\"isfirst\": 1,
\"edit_num\": 4,
\"create_date\": 1762827979,
\"userip\": 2057195673,
\"images\": 8,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
测试中

\",
\"message_fmt\": \"测试中

\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-11 10:26:19\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 6,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-1.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0019 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_61' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_61'
- 0.0002 SELECT * FROM bbs_post WHERE `pid`=61 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_37' LIMIT 1
- 0.0024 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_37'
- 0.0002 SELECT * FROM bbs_thread WHERE `tid`=37 LIMIT 1
- 0.0021 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_37','{
\"fid\": 6,
\"tid\": 37,
\"top\": 0,
\"uid\": 1,
\"userip\": 2057195673,
\"subject\": \"转载来源测试,请忽略\",
\"create_date\": 1762823914,
\"last_date\": 1762823914,
\"views\": 14,
\"posts\": 0,
\"images\": 0,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 61,
\"lastuid\": 0,
\"lastpid\": 61,
\"likes\": 0,
\"is_transcription\": 1,
\"allow_republications\": 1,
\"cite\": \"转载来源测试\",
\"create_date_fmt\": \"2025-11-11 09:18:34\",
\"last_date_fmt\": \"\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 6,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"策略研讨\",
\"lastusername\": \"\",
\"url\": \"thread-37.htm\",
\"user_url\": \"user-1.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0024 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_61','{
\"tid\": 37,
\"pid\": 61,
\"uid\": 1,
\"isfirst\": 1,
\"edit_num\": 0,
\"create_date\": 1762823914,
\"userip\": 2057195673,
\"images\": 0,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
转载来源测试
\",
\"message_fmt\": \"转载来源测试
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-11 09:18:34\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 6,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-1.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_59' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_59'
- 0.0006 SELECT * FROM bbs_post WHERE `pid`=59 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_36' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_36'
- 0.0002 SELECT * FROM bbs_thread WHERE `tid`=36 LIMIT 1
- 0.0021 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_36','{
\"fid\": 3,
\"tid\": 36,
\"top\": 0,
\"uid\": 8,
\"userip\": 2883314520,
\"subject\": \"QMT量化策略开发全流程详解:从Init初始化到HandleBar循环再到PassOrder下单\",
\"create_date\": 1762763759,
\"last_date\": 1762764139,
\"views\": 30,
\"posts\": 0,
\"images\": 12,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 59,
\"lastuid\": 0,
\"lastpid\": 59,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-10 16:35:59\",
\"last_date_fmt\": \"2025-11-10 16:42:19\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"QMT\",
\"lastusername\": \"游客\",
\"url\": \"thread-36.htm\",
\"user_url\": \"user-8.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0029 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_59','{
\"tid\": 36,
\"pid\": 59,
\"uid\": 8,
\"isfirst\": 1,
\"edit_num\": 1,
\"create_date\": 1762764139,
\"userip\": 2883314520,
\"images\": 12,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
每一个 QMT Python 策略,无论多复杂,都建立在一个简单的“骨架”之上。这个骨架由两个必须存在的函数构成:init() 和 handlebar()。你可以将它们想象成一个人的大脑和心脏。
简单来说:
init()是你的策略启动的基础
handlebar()是判断你的交易策略在这里执行
passorder()策略下单
下面是一个最基础的策略模板,你可以复制它作为你所有策略的起点: (qmt的编码声明,导入的python库,init函数初始化函数的使用,handlebar函数在盘中执行策略)

注意事项:
• # coding: gbk 是必须的,请务必放在代码的第一行。
• ContextInfo 是一个非常重要的“上下文对象”,策略的所有信息和功能都通过它来传递和调用。
理解了策略的骨架后,我们就要学习如何让策略真正地去“买”和“卖”。在 QMT 中,所有交易指令都通过一个名为 passorder() 函数来完成。我们在策略开启并实时监控后, 当达到 我们的自动下单条件,就需要使用passorder()函数,帮我们执行自动下单。


案例:假设我们想在最新的 K 线上,以最新价买入 100 股中信证券(600030.SH)

注意事项:
passorder 后面的几个参数(如策略名、是否立即下单等)在初学阶段可以暂时使用默认值。strategyName可以随便填,quickTrade填2表示立即下单,userOrderId填''空字符串即可,最后一个ContextInfo是固定要传的。
现在,策略已经学会了最基本结构框架和下单方式,接下来我直接把结合框架+ 下单 完整的代码分享给大家参考,一起在QMT里面动起来:

关注点赞 后续将会继续呈现更多的函数用法,以及实操代码案例,并结合实际运用!
\",
\"message_fmt\": \"每一个 QMT Python 策略,无论多复杂,都建立在一个简单的“骨架”之上。这个骨架由两个必须存在的函数构成:init() 和 handlebar()。你可以将它们想象成一个人的大脑和心脏。
简单来说:
init()是你的策略启动的基础
handlebar()是判断你的交易策略在这里执行
passorder()策略下单
下面是一个最基础的策略模板,你可以复制它作为你所有策略的起点: (qmt的编码声明,导入的python库,init函数初始化函数的使用,handlebar函数在盘中执行策略)

注意事项:
• # coding: gbk 是必须的,请务必放在代码的第一行。
• ContextInfo 是一个非常重要的“上下文对象”,策略的所有信息和功能都通过它来传递和调用。
理解了策略的骨架后,我们就要学习如何让策略真正地去“买”和“卖”。在 QMT 中,所有交易指令都通过一个名为 passorder() 函数来完成。我们在策略开启并实时监控后, 当达到 我们的自动下单条件,就需要使用passorder()函数,帮我们执行自动下单。


案例:假设我们想在最新的 K 线上,以最新价买入 100 股中信证券(600030.SH)

注意事项:
passorder 后面的几个参数(如策略名、是否立即下单等)在初学阶段可以暂时使用默认值。strategyName可以随便填,quickTrade填2表示立即下单,userOrderId填''空字符串即可,最后一个ContextInfo是固定要传的。
现在,策略已经学会了最基本结构框架和下单方式,接下来我直接把结合框架+ 下单 完整的代码分享给大家参考,一起在QMT里面动起来:

关注点赞 后续将会继续呈现更多的函数用法,以及实操代码案例,并结合实际运用!
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-10 16:42:19\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-8.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_58' LIMIT 1
- 0.0022 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_58'
- 0.0002 SELECT * FROM bbs_post WHERE `pid`=58 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_35' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_35'
- 0.0003 SELECT * FROM bbs_thread WHERE `tid`=35 LIMIT 1
- 0.0023 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_35','{
\"fid\": 3,
\"tid\": 35,
\"top\": 0,
\"uid\": 8,
\"userip\": 2883314520,
\"subject\": \"如何在QMT上编辑新建策略,模拟运行策略,查看策略信号?\",
\"create_date\": 1762758203,
\"last_date\": 1762758203,
\"views\": 19,
\"posts\": 0,
\"images\": 7,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 58,
\"lastuid\": 0,
\"lastpid\": 58,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-10 15:03:23\",
\"last_date_fmt\": \"\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"QMT\",
\"lastusername\": \"\",
\"url\": \"thread-35.htm\",
\"user_url\": \"user-8.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0024 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_58','{
\"tid\": 35,
\"pid\": 58,
\"uid\": 8,
\"isfirst\": 1,
\"edit_num\": 0,
\"create_date\": 1762758203,
\"userip\": 2883314520,
\"images\": 7,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
在QMT的模拟软件中,进行策略仿真交易的路径 .
第一步: 我的—— 新建策略—— python策略

第二步:自行在QMT编辑器进行策略编写 ,右侧的名字可以自己命名,点击运行策略。(如果在这个界面直接点 运行策略,可以看见代码是否报错,但无法进行模拟委托。

第三步:点击“交易模型”,将刚才保存的策略点击出来,下图为例

第四步,将右侧的实盘打开,策略将开始运行。 点击策略日志则可以看见 策略下单信号

\",
\"message_fmt\": \"
在QMT的模拟软件中,进行策略仿真交易的路径 .
第一步: 我的—— 新建策略—— python策略

第二步:自行在QMT编辑器进行策略编写 ,右侧的名字可以自己命名,点击运行策略。(如果在这个界面直接点 运行策略,可以看见代码是否报错,但无法进行模拟委托。

第三步:点击“交易模型”,将刚才保存的策略点击出来,下图为例

第四步,将右侧的实盘打开,策略将开始运行。 点击策略日志则可以看见 策略下单信号

\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-10 15:03:23\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-8.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0007 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_57' LIMIT 1
- 0.0022 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_57'
- 0.0003 SELECT * FROM bbs_post WHERE `pid`=57 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_34' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_34'
- 0.0008 SELECT * FROM bbs_thread WHERE `tid`=34 LIMIT 1
- 0.0024 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_34','{
\"fid\": 3,
\"tid\": 34,
\"top\": 0,
\"uid\": 8,
\"userip\": 2883303348,
\"subject\": \"如何正确安装QMT?如何配置QMT环境?及常见配置安装问题(新手超详细篇)\",
\"create_date\": 1762494422,
\"last_date\": 1762494586,
\"views\": 59,
\"posts\": 0,
\"images\": 13,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 57,
\"lastuid\": 0,
\"lastpid\": 57,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-07 13:47:02\",
\"last_date_fmt\": \"2025-11-07 13:49:46\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"QMT\",
\"lastusername\": \"游客\",
\"url\": \"thread-34.htm\",
\"user_url\": \"user-8.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0032 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_57','{
\"tid\": 34,
\"pid\": 57,
\"uid\": 8,
\"isfirst\": 1,
\"edit_num\": 1,
\"create_date\": 1762494586,
\"userip\": 2883303348,
\"images\": 13,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
一:QMT安装
支持QMT的券商在给我们软件链接后,即可安装。QMT的安装环境是64位的Windows系统,推荐首选8GB以上的内存,硬盘在100G以上,安装的时候,最好不要装在C盘,若是必须装在C盘,可以使用管理员身份运行,避免因为权限问题出错。

二:QMT环境配置
登录QMT行情+交易模式

使用QMT自带Python(一键式,极力推荐)—— 点击“模型研究”-下载python库


三:QMT历史数据下载
在QMT上安装好Python库后,我们补充数据在左上角【操作】点击【数据管理】选择需要的数据补充。


数据可以设置每日定时更新,可以点击客户端右下角【行情】按钮,在【批量下载】界面选择需要每天更新的数据,数据范围勾选【增量】,并且勾选【定时下载】选项,之后每天在指定时间会自动下载行情数据到本地。

若有特殊需要,可以添加安装第三方库(非必选)
配置好Python环境后,我们还可以安装一些强大的“武器”——第三方库如 tushare等。像numpy(用于科学计算)、pandas(用于数据处理)、pytdx(用于获取行情数据)等都是量化策略的得力助手。
安装第三方库最最最关键的一点是:必须把库安装到QMT正在使用的那个Python环境里去! 如果安装错了地方,QMT是绝对找不到的,你的策略代码一运行就会报错“ModuleNotFoundError”。
后期 我会将如何在QMT上安装第三方库(如 tushare等)。
QMT配置常见问题:
安装问题一:Mac 电脑到底能不能用?
直接答案:不能。 QMT官方没有推出任何macOS版本,你无法像安装普通Mac软件一样直接在苹果电脑上运行它,虚拟机也不行的哈!
问题二:32位系统能不能用?
直接答案:不能,也不推荐。
问题三:QMT与Python版本的兼容性?
QMT能用哪个版本的Python,不是由用户决定的,而是由你开户的证券公司决定的。
绝大多数券商:提供的QMT内置Python版本为 Python 3.6.8 ;少数券商(楼主使用的券商):已经将其QMT内置的Python版本升级到了 Python 3.11
这个版本差异是比较大的的,因为它直接决定了你能使用的第三方库(如numpy, pandas等数据分析工具)的版本,甚至影响代码的写法。例如,一个为Python 3.11编写的策略,很可能完全无法在Python 3.6的环境下运行。

为什么我安装QMT后不能正常使用?
如果你严格按照以上步骤操作,但QMT依然罢工,不要灰心。这里列出了一些最常见的“疑难杂症”和解决方案。
QMT策略运行报错 ModuleNotFoundError?
可能原因 1.第三方库未安装 2.库安装到了错误的 Python环境
解决方案 1.确认库名拼写正确 2.严格按照第四部分的方法,使用-target 或在激活的虚拟环境中安装
QMT 启动时闪退或报错?
可能原因 1.安装路径包含中文或特殊字符 2.未以管理员身份运行 3.被杀毒软件或防火墙拦截
解决方案:1.将 QMT安装在纯英文路径下,如 D:\\\\xtquant 2.右键点击 QMT快捷方式,选择”以管理员身份运行” 3.将 QMT程序添加到杀毒软件的信任列表
QMT点击”下载 python 库”无反应或下载失败?
可能原因 网络问题或券商服务器问题
解决方案 1.检查你的网络连接 2.尝试更换网络环境(如手机热点) 3.联系你的券商客服寻求帮助
QMT回测或交易时,数据获取失败?
可能原因 1.未下载历史数据 2.账户未开通相应权限
解决方案 1.在 QMT的行情数据工具中,下载你需要的股票/期货的分钟线、日线数据 2.确认你的模拟或实盘账户已正确绑定,并拥有交易权限
QMT的Python 版本不匹配的错误?
可能原因 使用了与当前 Python 环境不兼容的库或语法
解决方案 1.确认你券商 QMT的 Python 版本(见第三部分) 2.安装与该 Python 版本兼容的第三方库版本 3.调整你的代码以适应当前的 Python 版本
排错终极大法:当你遇到任何无法解决的问题时,请运行以下代码, 进行检查!!
结语
恭喜你!读到这里,你已经掌握了QMT安装与环境配置的核心知识。量化交易的道路充满了挑战与机遇,而一个稳定、正确的开发环境,是你迈向成功的第一步,也是最重要的一步。
请记住,遇到问题是正常的,尤其是在处理不同版本兼容性时。保持耐心,仔细排查,善用搜索和求助,你一定能克服所有障碍。
实在不清楚 还可以在帖子提问 ,看到后会第一时间帮大家一起解决!!
\",
\"message_fmt\": \"
一:QMT安装
支持QMT的券商在给我们软件链接后,即可安装。QMT的安装环境是64位的Windows系统,推荐首选8GB以上的内存,硬盘在100G以上,安装的时候,最好不要装在C盘,若是必须装在C盘,可以使用管理员身份运行,避免因为权限问题出错。

二:QMT环境配置
登录QMT行情+交易模式

使用QMT自带Python(一键式,极力推荐)—— 点击“模型研究”-下载python库


三:QMT历史数据下载
在QMT上安装好Python库后,我们补充数据在左上角【操作】点击【数据管理】选择需要的数据补充。


数据可以设置每日定时更新,可以点击客户端右下角【行情】按钮,在【批量下载】界面选择需要每天更新的数据,数据范围勾选【增量】,并且勾选【定时下载】选项,之后每天在指定时间会自动下载行情数据到本地。

若有特殊需要,可以添加安装第三方库(非必选)
配置好Python环境后,我们还可以安装一些强大的“武器”——第三方库如 tushare等。像numpy(用于科学计算)、pandas(用于数据处理)、pytdx(用于获取行情数据)等都是量化策略的得力助手。
安装第三方库最最最关键的一点是:必须把库安装到QMT正在使用的那个Python环境里去! 如果安装错了地方,QMT是绝对找不到的,你的策略代码一运行就会报错“ModuleNotFoundError”。
后期 我会将如何在QMT上安装第三方库(如 tushare等)。
QMT配置常见问题:
安装问题一:Mac 电脑到底能不能用?
直接答案:不能。 QMT官方没有推出任何macOS版本,你无法像安装普通Mac软件一样直接在苹果电脑上运行它,虚拟机也不行的哈!
问题二:32位系统能不能用?
直接答案:不能,也不推荐。
问题三:QMT与Python版本的兼容性?
QMT能用哪个版本的Python,不是由用户决定的,而是由你开户的证券公司决定的。
绝大多数券商:提供的QMT内置Python版本为 Python 3.6.8 ;少数券商(楼主使用的券商):已经将其QMT内置的Python版本升级到了 Python 3.11
这个版本差异是比较大的的,因为它直接决定了你能使用的第三方库(如numpy, pandas等数据分析工具)的版本,甚至影响代码的写法。例如,一个为Python 3.11编写的策略,很可能完全无法在Python 3.6的环境下运行。

为什么我安装QMT后不能正常使用?
如果你严格按照以上步骤操作,但QMT依然罢工,不要灰心。这里列出了一些最常见的“疑难杂症”和解决方案。
QMT策略运行报错 ModuleNotFoundError?
可能原因 1.第三方库未安装 2.库安装到了错误的 Python环境
解决方案 1.确认库名拼写正确 2.严格按照第四部分的方法,使用-target 或在激活的虚拟环境中安装
QMT 启动时闪退或报错?
可能原因 1.安装路径包含中文或特殊字符 2.未以管理员身份运行 3.被杀毒软件或防火墙拦截
解决方案:1.将 QMT安装在纯英文路径下,如 D:\\\\xtquant 2.右键点击 QMT快捷方式,选择”以管理员身份运行” 3.将 QMT程序添加到杀毒软件的信任列表
QMT点击”下载 python 库”无反应或下载失败?
可能原因 网络问题或券商服务器问题
解决方案 1.检查你的网络连接 2.尝试更换网络环境(如手机热点) 3.联系你的券商客服寻求帮助
QMT回测或交易时,数据获取失败?
可能原因 1.未下载历史数据 2.账户未开通相应权限
解决方案 1.在 QMT的行情数据工具中,下载你需要的股票/期货的分钟线、日线数据 2.确认你的模拟或实盘账户已正确绑定,并拥有交易权限
QMT的Python 版本不匹配的错误?
可能原因 使用了与当前 Python 环境不兼容的库或语法
解决方案 1.确认你券商 QMT的 Python 版本(见第三部分) 2.安装与该 Python 版本兼容的第三方库版本 3.调整你的代码以适应当前的 Python 版本
排错终极大法:当你遇到任何无法解决的问题时,请运行以下代码, 进行检查!!
结语
恭喜你!读到这里,你已经掌握了QMT安装与环境配置的核心知识。量化交易的道路充满了挑战与机遇,而一个稳定、正确的开发环境,是你迈向成功的第一步,也是最重要的一步。
请记住,遇到问题是正常的,尤其是在处理不同版本兼容性时。保持耐心,仔细排查,善用搜索和求助,你一定能克服所有障碍。
实在不清楚 还可以在帖子提问 ,看到后会第一时间帮大家一起解决!!
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-07 13:49:46\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-8.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_56' LIMIT 1
- 0.0022 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_56'
- 0.0003 SELECT * FROM bbs_post WHERE `pid`=56 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_33' LIMIT 1
- 0.0022 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_33'
- 0.0002 SELECT * FROM bbs_thread WHERE `tid`=33 LIMIT 1
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_33','{
\"fid\": 1,
\"tid\": 33,
\"top\": 0,
\"uid\": 4,
\"userip\": 2101779134,
\"subject\": \"测试链接功能\",
\"create_date\": 1762480400,
\"last_date\": 1762480400,
\"views\": 42,
\"posts\": 0,
\"images\": 0,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 56,
\"lastuid\": 0,
\"lastpid\": 56,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-07 09:53:20\",
\"last_date_fmt\": \"\",
\"username\": \"财叔\",
\"user_avatar_url\": \"upload/avatar/000/4.png?1760003271\",
\"user\": {
\"uid\": 4,
\"gid\": 1,
\"email\": \"18227245155@163.com\",
\"username\": \"财叔\",
\"realname\": \"\",
\"password\": \"bc613d94655b7a5121971f7984863830\",
\"password_sms\": \"\",
\"salt\": \"HYVCQG834ZGXH3FJ\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 3,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 2101780202,
\"create_date\": 1760003271,
\"login_ip\": 2101779042,
\"login_date\": 1762304134,
\"logins\": 7,
\"avatar\": 1760003271,
\"notices\": 17,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 2,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"125.70.158.234\",
\"create_date_fmt\": \"2025-10-09\",
\"login_ip_fmt\": \"125.70.154.98\",
\"login_date_fmt\": \"2025-11-05\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"upload/avatar/000/4.png?1760003271\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/4.png?1760003271\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"股市闲谈\",
\"lastusername\": \"\",
\"url\": \"thread-33.htm\",
\"user_url\": \"user-4.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0025 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_56','{
\"tid\": 33,
\"pid\": 56,
\"uid\": 4,
\"isfirst\": 1,
\"edit_num\": 0,
\"create_date\": 1762480400,
\"userip\": 2101779134,
\"images\": 0,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
啊大是大非https://www.lianghuaba.net/thread-32.htm
\",
\"message_fmt\": \"啊大是大非https://www.lianghuaba.net/thread-32.htm
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-07 09:53:20\",
\"username\": \"财叔\",
\"user_avatar_url\": \"upload/avatar/000/4.png?1760003271\",
\"user\": {
\"uid\": 4,
\"gid\": 1,
\"email\": \"18227245155@163.com\",
\"username\": \"财叔\",
\"realname\": \"\",
\"password\": \"bc613d94655b7a5121971f7984863830\",
\"password_sms\": \"\",
\"salt\": \"HYVCQG834ZGXH3FJ\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 3,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 2101780202,
\"create_date\": 1760003271,
\"login_ip\": 2101779042,
\"login_date\": 1762304134,
\"logins\": 7,
\"avatar\": 1760003271,
\"notices\": 17,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 2,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"125.70.158.234\",
\"create_date_fmt\": \"2025-10-09\",
\"login_ip_fmt\": \"125.70.154.98\",
\"login_date_fmt\": \"2025-11-05\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"upload/avatar/000/4.png?1760003271\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/4.png?1760003271\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-4.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_55' LIMIT 1
- 0.0022 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_55'
- 0.0003 SELECT * FROM bbs_post WHERE `pid`=55 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_32' LIMIT 1
- 0.0022 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_32'
- 0.0002 SELECT * FROM bbs_thread WHERE `tid`=32 LIMIT 1
- 0.0023 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_32','{
\"fid\": 3,
\"tid\": 32,
\"top\": 0,
\"uid\": 8,
\"userip\": 2883303348,
\"subject\": \"什么是QMT软件 ? 它与通达信同花顺这类软件有什么区别?\",
\"create_date\": 1762410011,
\"last_date\": 1762476320,
\"views\": 93,
\"posts\": 0,
\"images\": 7,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 55,
\"lastuid\": 0,
\"lastpid\": 55,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-06 14:20:11\",
\"last_date_fmt\": \"2025-11-07 08:45:20\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"QMT\",
\"lastusername\": \"游客\",
\"url\": \"thread-32.htm\",
\"user_url\": \"user-8.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0026 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_55','{
\"tid\": 32,
\"pid\": 55,
\"uid\": 8,
\"isfirst\": 1,
\"edit_num\": 2,
\"create_date\": 1762476320,
\"userip\": 2883303348,
\"images\": 7,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
你是否还在为每天追涨杀跌、手动下单、频繁错过最佳交易时机而感到焦虑?你是否听说过“量化交易”,但总觉得它高深莫测,是专业机构才能涉足的领域?今天,我们将为你揭开一款强大工具的神秘面纱——QMT(迅投极速交易平台)。它并非遥不可及的“黑科技”,而是一款能实实在在帮助我们普通投资者提升交易效率、实现自动化交易的利器。本贴将以通俗易懂的方式,带你全面了解 QMT,并直观对比它与传统交易软件的本质区别!!
一、QMT是什么?它和炒股软件有什么本质不同?
传统交易软件(如通达信、同花顺) 就像一辆手动挡汽车。你需要自己观察路况(盯盘看行情),然后手动完成踩离合、挂挡、踩油门等一系列操作(手动输入价格和数量下单)。整个过程不仅繁琐,还极易受到情绪波动的影响。
QMT 量化交易平台 则像一辆自动驾驶汽车。只需提前设定好目的地和驾驶规则(编写交易策略),车辆就能自动感知路况并完成所有驾驶操作(程序化自动交易)。
二、打破传统交易软件痛点,将QMT与传统软件结合使用
很多人和我一样喜欢使用通达信的公式选股功能来寻找符合特定条件的股票,这是一个非常好的策略实践。然而,在选出股票后,一个巨大的“痛点”便浮现出来:
在通达信中编写选股公式,但当你选出股票后,会遇到一个巨大的“痛点”:
1.执行效率低下:公式运行后,得到的是一个股票列表。接下来,必须手动将这些股票一一添加到自选股,计算每只股票的买入数量,并在交易时间手动输入代码、价格、数量来完成下单。这个过程充满了延迟和操作风险。
2.策略与交易脱节:你的选股策略和实际交易是完全分离的。策略无法“指挥”交易,交易也无法“感知”策略的实时信号。如果一个绝佳的买点在盘中一闪而过,当你在通达信中发现信号时,机会早已溜走。
3.情绪的干扰:市场波动剧烈时,即使策略给出了明确的买卖信号,我们也很容易因为恐惧、贪婪或犹豫而未能严格执行,最终导致“策略是好的,执行是另一回事”的尴尬局面。
如果 我们将QTM此类量化软件 与 传统软件相结合使用 , 会是一场完美的 体验!

三、如何运用好QMT 与传统交易软件,打通交易痛点
借助 QMT,可以将通达信等软件的选股逻辑用更灵活的 Python 等计算机语言来实现,并让程序自动完成整个“感知-决策-执行”的流程:
QMT行情接口 (XTData API):程序通过接口自动获取全市场的实时行情数据(毫秒级),并根据你设定的逻辑进行高速计算和筛选。
QMT交易接口 (XTTrade API):一旦程序筛选出符合条件的股票,它会立即根据你的资金管理模型自动计算仓位,并瞬间通过交易接口向券商的柜台系统发送交易指令,完成买入或卖出。
整个过程完全由代码驱动,无需任何人工干预,从而彻底消除了手动操作的延迟、失误和情绪干扰。
四、QMT的两种版本:券商版 vs 投研版

建议: 如果你是量化新手,或者是策略对于数据的需求没有特别大的投资者,建议先从券商的模拟版本开始,学习Python编程和策略编写,利用其强大的回测功能验证策略。
写在最后:量化交易并不是万能的
我们必须明确,QMT 是一个强大的工具,但它不是一个能自动赚钱的“印钞机”。量化交易的成功与否,核心在于策略的质量,而 QMT 的作用是保证你的优质策略能够被高效、准确、无情绪地执行。对于广大散户而言,QMT 的出现极大地降低了量化交易的门槛。我们不再需要自己搭建复杂的服务器和接口,就能享受到专业级的程序化交易环境。
后期我会将QMT的使用及部分重要的API使用分享给大家 ! 希望对大家有所帮助 !
\",
\"message_fmt\": \"你是否还在为每天追涨杀跌、手动下单、频繁错过最佳交易时机而感到焦虑?你是否听说过“量化交易”,但总觉得它高深莫测,是专业机构才能涉足的领域?今天,我们将为你揭开一款强大工具的神秘面纱——QMT(迅投极速交易平台)。它并非遥不可及的“黑科技”,而是一款能实实在在帮助我们普通投资者提升交易效率、实现自动化交易的利器。本贴将以通俗易懂的方式,带你全面了解 QMT,并直观对比它与传统交易软件的本质区别!!
一、QMT是什么?它和炒股软件有什么本质不同?
传统交易软件(如通达信、同花顺) 就像一辆手动挡汽车。你需要自己观察路况(盯盘看行情),然后手动完成踩离合、挂挡、踩油门等一系列操作(手动输入价格和数量下单)。整个过程不仅繁琐,还极易受到情绪波动的影响。
QMT 量化交易平台 则像一辆自动驾驶汽车。只需提前设定好目的地和驾驶规则(编写交易策略),车辆就能自动感知路况并完成所有驾驶操作(程序化自动交易)。
二、打破传统交易软件痛点,将QMT与传统软件结合使用
很多人和我一样喜欢使用通达信的公式选股功能来寻找符合特定条件的股票,这是一个非常好的策略实践。然而,在选出股票后,一个巨大的“痛点”便浮现出来:
在通达信中编写选股公式,但当你选出股票后,会遇到一个巨大的“痛点”:
1.执行效率低下:公式运行后,得到的是一个股票列表。接下来,必须手动将这些股票一一添加到自选股,计算每只股票的买入数量,并在交易时间手动输入代码、价格、数量来完成下单。这个过程充满了延迟和操作风险。
2.策略与交易脱节:你的选股策略和实际交易是完全分离的。策略无法“指挥”交易,交易也无法“感知”策略的实时信号。如果一个绝佳的买点在盘中一闪而过,当你在通达信中发现信号时,机会早已溜走。
3.情绪的干扰:市场波动剧烈时,即使策略给出了明确的买卖信号,我们也很容易因为恐惧、贪婪或犹豫而未能严格执行,最终导致“策略是好的,执行是另一回事”的尴尬局面。
如果 我们将QTM此类量化软件 与 传统软件相结合使用 , 会是一场完美的 体验!

三、如何运用好QMT 与传统交易软件,打通交易痛点
借助 QMT,可以将通达信等软件的选股逻辑用更灵活的 Python 等计算机语言来实现,并让程序自动完成整个“感知-决策-执行”的流程:
QMT行情接口 (XTData API):程序通过接口自动获取全市场的实时行情数据(毫秒级),并根据你设定的逻辑进行高速计算和筛选。
QMT交易接口 (XTTrade API):一旦程序筛选出符合条件的股票,它会立即根据你的资金管理模型自动计算仓位,并瞬间通过交易接口向券商的柜台系统发送交易指令,完成买入或卖出。
整个过程完全由代码驱动,无需任何人工干预,从而彻底消除了手动操作的延迟、失误和情绪干扰。
四、QMT的两种版本:券商版 vs 投研版

建议: 如果你是量化新手,或者是策略对于数据的需求没有特别大的投资者,建议先从券商的模拟版本开始,学习Python编程和策略编写,利用其强大的回测功能验证策略。
写在最后:量化交易并不是万能的
我们必须明确,QMT 是一个强大的工具,但它不是一个能自动赚钱的“印钞机”。量化交易的成功与否,核心在于策略的质量,而 QMT 的作用是保证你的优质策略能够被高效、准确、无情绪地执行。对于广大散户而言,QMT 的出现极大地降低了量化交易的门槛。我们不再需要自己搭建复杂的服务器和接口,就能享受到专业级的程序化交易环境。
后期我会将QMT的使用及部分重要的API使用分享给大家 ! 希望对大家有所帮助 !
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-07 08:45:20\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-8.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_37' LIMIT 1
- 0.0022 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_37'
- 0.0003 SELECT * FROM bbs_post WHERE `pid`=37 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_27' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_27'
- 0.0002 SELECT * FROM bbs_thread WHERE `tid`=27 LIMIT 1
- 0.0024 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_27','{
\"fid\": 4,
\"tid\": 27,
\"top\": 0,
\"uid\": 15,
\"userip\": 3062862409,
\"subject\": \"如何将代码导入在PTrade中运行\",
\"create_date\": 1762321330,
\"last_date\": 1762500663,
\"views\": 96,
\"posts\": 0,
\"images\": 16,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 37,
\"lastuid\": 0,
\"lastpid\": 37,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-05 13:42:10\",
\"last_date_fmt\": \"2025-11-07 15:31:03\",
\"username\": \"小Q\",
\"user_avatar_url\": \"upload/avatar/000/15.png?1762237205\",
\"user\": {
\"uid\": 15,
\"gid\": 101,
\"email\": \"wx_1762237205@qq.com\",
\"username\": \"小Q\",
\"realname\": \"\",
\"password\": \"b8ae93a8d4d13c949ef47ae18fd8f498\",
\"password_sms\": \"\",
\"salt\": \"831677\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 1,
\"posts\": 1,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3062862409,
\"create_date\": 1762237205,
\"login_ip\": 3062862409,
\"login_date\": 1762237205,
\"logins\": 1,
\"avatar\": 1762237205,
\"notices\": 1,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"182.143.146.73\",
\"create_date_fmt\": \"2025-11-04\",
\"login_ip_fmt\": \"182.143.146.73\",
\"login_date_fmt\": \"2025-11-04\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/15.png?1762237205\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/15.png?1762237205\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"Ptrade\",
\"lastusername\": \"游客\",
\"url\": \"thread-27.htm\",
\"user_url\": \"user-15.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0024 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_37','{
\"tid\": 27,
\"pid\": 37,
\"uid\": 15,
\"isfirst\": 1,
\"edit_num\": 2,
\"create_date\": 1762500663,
\"userip\": 3062862409,
\"images\": 16,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
第一步进入PTrade的”量化“界面,并点击”回测“

第二步点击“+”新增策略,并为自己的策略命名

接下来去电脑桌面打开之前的“txt”文件,复制代码


将代码粘贴进入PTrade 并点击保存

在回测界面将参数修改并保存后,直接点击“交易”界面,—— 点击“新增”,将之前的策略添加后,就可以开始运行策略。

策略到新增列表后会自动的启动 ,因此若需要关闭,则需要到交易列表手动 暂停 或删除。

注意:
1.策略的参数修改 ,必须在回测界面进行修改并保存 ,不能在交易界面进行修改;
2.修改好后必须确认保存,之后再去交易界面进行策略重启!!
3.策略虽然在云端运行,但建议每日9:00之前进入软件,确认策略是否正常!!
\",
\"message_fmt\": \"
第一步进入PTrade的”量化“界面,并点击”回测“

第二步点击“+”新增策略,并为自己的策略命名

接下来去电脑桌面打开之前的“txt”文件,复制代码


将代码粘贴进入PTrade 并点击保存

在回测界面将参数修改并保存后,直接点击“交易”界面,—— 点击“新增”,将之前的策略添加后,就可以开始运行策略。

策略到新增列表后会自动的启动 ,因此若需要关闭,则需要到交易列表手动 暂停 或删除。

注意:
1.策略的参数修改 ,必须在回测界面进行修改并保存 ,不能在交易界面进行修改;
2.修改好后必须确认保存,之后再去交易界面进行策略重启!!
3.策略虽然在云端运行,但建议每日9:00之前进入软件,确认策略是否正常!!
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-07 15:31:03\",
\"username\": \"小Q\",
\"user_avatar_url\": \"upload/avatar/000/15.png?1762237205\",
\"user\": {
\"uid\": 15,
\"gid\": 101,
\"email\": \"wx_1762237205@qq.com\",
\"username\": \"小Q\",
\"realname\": \"\",
\"password\": \"b8ae93a8d4d13c949ef47ae18fd8f498\",
\"password_sms\": \"\",
\"salt\": \"831677\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 1,
\"posts\": 1,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3062862409,
\"create_date\": 1762237205,
\"login_ip\": 3062862409,
\"login_date\": 1762237205,
\"logins\": 1,
\"avatar\": 1762237205,
\"notices\": 1,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"182.143.146.73\",
\"create_date_fmt\": \"2025-11-04\",
\"login_ip_fmt\": \"182.143.146.73\",
\"login_date_fmt\": \"2025-11-04\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/15.png?1762237205\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/15.png?1762237205\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-15.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_31' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_31'
- 0.0002 SELECT * FROM bbs_post WHERE `pid`=31 LIMIT 1
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_22' LIMIT 1
- 0.0023 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_22'
- 0.0002 SELECT * FROM bbs_thread WHERE `tid`=22 LIMIT 1
- 0.0024 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_22','{
\"fid\": 4,
\"tid\": 22,
\"top\": 0,
\"uid\": 8,
\"userip\": 663785480,
\"subject\": \"简单数据增强\",
\"create_date\": 1762237548,
\"last_date\": 1762237548,
\"views\": 111,
\"posts\": 0,
\"images\": 8,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 31,
\"lastuid\": 0,
\"lastpid\": 31,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-11-04 14:25:48\",
\"last_date_fmt\": \"\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"Ptrade\",
\"lastusername\": \"\",
\"url\": \"thread-22.htm\",
\"user_url\": \"user-8.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_31','{
\"tid\": 22,
\"pid\": 31,
\"uid\": 8,
\"isfirst\": 1,
\"edit_num\": 0,
\"create_date\": 1762237548,
\"userip\": 663785480,
\"images\": 8,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"

\",
\"message_fmt\": \"
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-04 14:25:48\",
\"username\": \"QUANT\",
\"user_avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"user\": {
\"uid\": 8,
\"gid\": 101,
\"email\": \"wx_1760333342@qq.com\",
\"username\": \"QUANT\",
\"realname\": \"\",
\"password\": \"96df0b624fe378ac2746b85a5a65b6a8\",
\"password_sms\": \"\",
\"salt\": \"613912\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 5,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 3748191626,
\"create_date\": 1760333342,
\"login_ip\": 3748191626,
\"login_date\": 1760333342,
\"logins\": 1,
\"avatar\": 1762237639,
\"notices\": 6,
\"unread_notices\": 0,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"223.104.221.138\",
\"create_date_fmt\": \"2025-10-13\",
\"login_ip_fmt\": \"223.104.221.138\",
\"login_date_fmt\": \"2025-10-13\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"upload/avatar/000/8.png?1762237639\",
\"avatar_path\": \"/data/user/htdocs/./upload/avatar/000/8.png?1762237639\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-8.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_7' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_7'
- 0.0003 SELECT * FROM bbs_post WHERE `pid`=7 LIMIT 1
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_6' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_6'
- 0.0002 SELECT * FROM bbs_thread WHERE `tid`=6 LIMIT 1
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_6','{
\"fid\": 1,
\"tid\": 6,
\"top\": 0,
\"uid\": 3,
\"userip\": 2130706433,
\"subject\": \"欢迎来到python世界\",
\"create_date\": 1759365523,
\"last_date\": 1762598997,
\"views\": 663,
\"posts\": 2,
\"images\": 0,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 7,
\"lastuid\": 5,
\"lastpid\": 12,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-10-02 08:38:43\",
\"last_date_fmt\": \"2025-11-08 18:49:57\",
\"username\": \"ceshi\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 3,
\"gid\": 101,
\"email\": \"1234@qq.com\",
\"username\": \"ceshi\",
\"realname\": \"\",
\"password\": \"779df735be9eacba6edc941f3ddb7689\",
\"password_sms\": \"\",
\"salt\": \"5FF9MDJ5KVUTJTPC\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 2,
\"posts\": 1,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 2130706433,
\"create_date\": 1759361946,
\"login_ip\": 2002032231,
\"login_date\": 1760518668,
\"logins\": 17,
\"avatar\": 0,
\"notices\": 7,
\"unread_notices\": 7,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"127.0.0.1\",
\"create_date_fmt\": \"2025-10-02\",
\"login_ip_fmt\": \"119.84.150.103\",
\"login_date_fmt\": \"2025-10-15\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"股市闲谈\",
\"lastusername\": \"随风@网站建设推广小程序APP开发\",
\"url\": \"thread-6.htm\",
\"user_url\": \"user-3.htm\",
\"top_class\": \"\",
\"pages\": 1
}','1762838506')
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_7','{
\"tid\": 6,
\"pid\": 7,
\"uid\": 3,
\"isfirst\": 1,
\"edit_num\": 10,
\"create_date\": 1762598997,
\"userip\": 2130706433,
\"images\": 0,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
欢迎来到python世界
#!/usr/bin/python\\r\\n \\r\\nvar1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'\\r\\nvar2 = "Python Runoob"var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'\\r\\n \\r\\nprint "var1[0]: ", var1[0]print "var1[0]: ", var1[0]print "var1[0]: ", var1[0]print "var1[0]: ", var1[0]print "var1[0]: ", var1[0]\\r\\nprint "var2[1:5]: ", var2[1:5]\\r\\nprint "var2[1:5]: ", var2[1:5]\\r\\nprint "var2[1:5]: ", var2[1:5]\\r\\nprint "var2[1:5]: ", var2[1:5]\\r\\nprint "var2[1:5]: ", var2[1:5]
测试1
测试2
测试3
测试4
\",
\"message_fmt\": \"欢迎来到python世界
#!/usr/bin/python\\r\\n \\r\\nvar1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'\\r\\nvar2 = "Python Runoob"var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'var1 = 'Hello World!'\\r\\n \\r\\nprint "var1[0]: ", var1[0]print "var1[0]: ", var1[0]print "var1[0]: ", var1[0]print "var1[0]: ", var1[0]print "var1[0]: ", var1[0]\\r\\nprint "var2[1:5]: ", var2[1:5]\\r\\nprint "var2[1:5]: ", var2[1:5]\\r\\nprint "var2[1:5]: ", var2[1:5]\\r\\nprint "var2[1:5]: ", var2[1:5]\\r\\nprint "var2[1:5]: ", var2[1:5]
测试1
测试2
测试3
测试4
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-11-08 18:49:57\",
\"username\": \"ceshi\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 3,
\"gid\": 101,
\"email\": \"1234@qq.com\",
\"username\": \"ceshi\",
\"realname\": \"\",
\"password\": \"779df735be9eacba6edc941f3ddb7689\",
\"password_sms\": \"\",
\"salt\": \"5FF9MDJ5KVUTJTPC\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 2,
\"posts\": 1,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 2130706433,
\"create_date\": 1759361946,
\"login_ip\": 2002032231,
\"login_date\": 1760518668,
\"logins\": 17,
\"avatar\": 0,
\"notices\": 7,
\"unread_notices\": 7,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"127.0.0.1\",
\"create_date_fmt\": \"2025-10-02\",
\"login_ip_fmt\": \"119.84.150.103\",
\"login_date_fmt\": \"2025-10-15\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-3.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_5' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_5'
- 0.0002 SELECT * FROM bbs_post WHERE `pid`=5 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_5' LIMIT 1
- 0.0032 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_5'
- 0.0002 SELECT * FROM bbs_thread WHERE `tid`=5 LIMIT 1
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_5','{
\"fid\": 2,
\"tid\": 5,
\"top\": 0,
\"uid\": 3,
\"userip\": 2130706433,
\"subject\": \"测试发表第一个贴子\",
\"create_date\": 1759362053,
\"last_date\": 1759362053,
\"views\": 464,
\"posts\": 0,
\"images\": 0,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 5,
\"lastuid\": 0,
\"lastpid\": 5,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-10-02 07:40:53\",
\"last_date_fmt\": \"\",
\"username\": \"ceshi\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 3,
\"gid\": 101,
\"email\": \"1234@qq.com\",
\"username\": \"ceshi\",
\"realname\": \"\",
\"password\": \"779df735be9eacba6edc941f3ddb7689\",
\"password_sms\": \"\",
\"salt\": \"5FF9MDJ5KVUTJTPC\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 2,
\"posts\": 1,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 2130706433,
\"create_date\": 1759361946,
\"login_ip\": 2002032231,
\"login_date\": 1760518668,
\"logins\": 17,
\"avatar\": 0,
\"notices\": 7,
\"unread_notices\": 7,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"127.0.0.1\",
\"create_date_fmt\": \"2025-10-02\",
\"login_ip_fmt\": \"119.84.150.103\",
\"login_date_fmt\": \"2025-10-15\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"python基础\",
\"lastusername\": \"\",
\"url\": \"thread-5.htm\",
\"user_url\": \"user-3.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_5','{
\"tid\": 5,
\"pid\": 5,
\"uid\": 3,
\"isfirst\": 1,
\"edit_num\": 3,
\"create_date\": 1759362053,
\"userip\": 2130706433,
\"images\": 0,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
测试发表第一个贴子详细内容;测试1 测试2 测试3
\",
\"message_fmt\": \"测试发表第一个贴子详细内容;测试1 测试2 测试3
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-10-02 07:40:53\",
\"username\": \"ceshi\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 3,
\"gid\": 101,
\"email\": \"1234@qq.com\",
\"username\": \"ceshi\",
\"realname\": \"\",
\"password\": \"779df735be9eacba6edc941f3ddb7689\",
\"password_sms\": \"\",
\"salt\": \"5FF9MDJ5KVUTJTPC\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 2,
\"posts\": 1,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 2130706433,
\"create_date\": 1759361946,
\"login_ip\": 2002032231,
\"login_date\": 1760518668,
\"logins\": 17,
\"avatar\": 0,
\"notices\": 7,
\"unread_notices\": 7,
\"signature\": \"\",
\"v\": 0,
\"v_title\": \"\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"127.0.0.1\",
\"create_date_fmt\": \"2025-10-02\",
\"login_ip_fmt\": \"119.84.150.103\",
\"login_date_fmt\": \"2025-10-15\",
\"groupname\": \"一级用户组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-3.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_4' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_4'
- 0.0002 SELECT * FROM bbs_post WHERE `pid`=4 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_4' LIMIT 1
- 0.0022 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_4'
- 0.0002 SELECT * FROM bbs_thread WHERE `tid`=4 LIMIT 1
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_4','{
\"fid\": 3,
\"tid\": 4,
\"top\": 0,
\"uid\": 1,
\"userip\": 1001364016,
\"subject\": \"解锁 Ptrade 量化新境界:布林线带你冲破投资迷雾\",
\"create_date\": 1756540949,
\"last_date\": 1760342562,
\"views\": 425,
\"posts\": 0,
\"images\": 0,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 4,
\"lastuid\": 0,
\"lastpid\": 4,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-08-30 16:02:29\",
\"last_date_fmt\": \"2025-10-13 16:02:42\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 6,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"QMT\",
\"lastusername\": \"游客\",
\"url\": \"thread-4.htm\",
\"user_url\": \"user-1.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0023 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_4','{
\"tid\": 4,
\"pid\": 4,
\"uid\": 1,
\"isfirst\": 1,
\"edit_num\": 3,
\"create_date\": 1760342562,
\"userip\": 1001364016,
\"images\": 0,
\"files\": 0,
\"doctype\": 0,
\"quotepid\": 0,
\"message\": \"
在复杂多变的金融市场中,你是否渴望一种能精准把握时机、规避风险的交易方式?Ptrade 平台下的量化交易策略,为你开启全新投资大门。
此策略依据经典布林线通道买卖点原理,精准实现选股与择时买卖的自动化。布林线通道能敏锐捕捉股价波动,而我们在此基础上增加了独家优化条件,大幅提升策略成功率。它会全方位监控止赢止损,让你躺着都能赚大钱。每当股价触及预设止赢位,自动落袋为安;遭遇止损点时,果断离场,将利益最大化,有效避免踏空与套牢的困境。
无论是初涉投资的新手,还是经验丰富的行家,该策略都能成为你投资路上的得力助手,让投资变得更科学、更轻松。快来体验,开启你的量化投资之旅。
此策略胜率达93%,赢亏比3481.9%,真的能让你躺着都能赚大钱。
\",
\"message_fmt\": \" 在复杂多变的金融市场中,你是否渴望一种能精准把握时机、规避风险的交易方式?Ptrade 平台下的量化交易策略,为你开启全新投资大门。
此策略依据经典布林线通道买卖点原理,精准实现选股与择时买卖的自动化。布林线通道能敏锐捕捉股价波动,而我们在此基础上增加了独家优化条件,大幅提升策略成功率。它会全方位监控止赢止损,让你躺着都能赚大钱。每当股价触及预设止赢位,自动落袋为安;遭遇止损点时,果断离场,将利益最大化,有效避免踏空与套牢的困境。
无论是初涉投资的新手,还是经验丰富的行家,该策略都能成为你投资路上的得力助手,让投资变得更科学、更轻松。快来体验,开启你的量化投资之旅。
此策略胜率达93%,赢亏比3481.9%,真的能让你躺着都能赚大钱。
\",
\"likes\": 0,
\"create_date_fmt\": \"2025-10-13 16:02:42\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 6,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-1.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0004 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_3' LIMIT 1
- 0.0022 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_3'
- 0.0003 SELECT * FROM bbs_post WHERE `pid`=3 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_3' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_3'
- 0.0002 SELECT * FROM bbs_thread WHERE `tid`=3 LIMIT 1
- 0.0024 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_3','{
\"fid\": 1,
\"tid\": 3,
\"top\": 0,
\"uid\": 1,
\"userip\": 1001364016,
\"subject\": \"PTrade用户常见问题与解答汇总\",
\"create_date\": 1756540833,
\"last_date\": 1756540833,
\"views\": 489,
\"posts\": 0,
\"images\": 0,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 3,
\"lastuid\": 0,
\"lastpid\": 3,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-08-30 16:00:33\",
\"last_date_fmt\": \"\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 6,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"股市闲谈\",
\"lastusername\": \"\",
\"url\": \"thread-3.htm\",
\"user_url\": \"user-1.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0026 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_3','{
\"tid\": 3,
\"pid\": 3,
\"uid\": 1,
\"isfirst\": 1,
\"edit_num\": 0,
\"create_date\": 1756540833,
\"userip\": 1001364016,
\"images\": 0,
\"files\": 0,
\"doctype\": 1,
\"quotepid\": 0,
\"message\": \"本文系作者根据山西证券ptrade技术支持群中群友的常见提问,结合自身经验整理出多个使用PTrade时的常见问题、原因与解决方法供参考。文中的问题原因是最常见的,提供的解决方法在大多数情况下有效,但一个问题可由多个原因引发,如果按文中的解决方法操作无效,请联系山西证券工作人员寻求帮助。\\r\\n\\r\\n \\r\\n\\r\\n声明:本文仅作为参考资料,如用户据此操作一切风险自担。\\r\\n\\r\\n\\r\\n\\r\\n常见问题1:没有正在进行的回测,但当想新开一个回测时出现以下信息,Error: 回测运行失败, 错误码:2 错误信息: 当前回测个数超过限制。\\r\\n\\r\\n问题原因:通常是之前的回测没有正常结束导致,有回测在后台运行,但在前台没有显示。\\r\\n\\r\\n解决方法:一般通过重启量化环境可以解决。系统设置——量化设置——重启量化环境。\\r\\n\\r\\n注意事项:重启量化环境会导致交易中的所有策略停止,需要手动重启。\\r\\n\\r\\n \\r\\n\\r\\n常见问题2:使用tushare时出现如下信息,Exception: 抱歉,您每分钟最多访问该接口600次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。\\r\\n\\r\\n问题原因:调用tushare接口的频率超出了限制。\\r\\n\\r\\n解决方法:\\r\\n\\r\\n1.如果需要取数据的股票数量较多,不要用for循环去遍历股票列表调用tushare接口,建议一次性全部取完。\\r\\n\\r\\n2.如果是盘中需要用到tushare数据,不要在盘中频繁调用,建议在盘前获取tushare数据存入全局变量,在盘中调用预存储的tushare数据。\\r\\n\\r\\n \\r\\n\\r\\n常见问题3:调用tushare数据时出现如下信息,ConnectionError: HTTPConnectionPool(host=\'10.5.42.71\', port=7171): Max retries exceeded with url: / (Caused by NewConnectionError(\': Failed to establish a new connection: [Errno 111] Connection refused\'))。\\r\\n\\r\\n问题原因:tushare环境设置错误。\\r\\n\\r\\n解决方法:改为正确的设置,仿真env=\'prd\',生产env=\'qa\'。\\r\\n\\r\\n \\r\\n\\r\\n常见问题4:tushare取多个股票的数据时返回空的dataframe。\\r\\n\\r\\n问题原因:ts_code入参了列表,例如ts_code=[\'000001.SZ\', \'600000.SH\']是错误的。\\r\\n\\r\\n解决方法:ts_code正确的入参是逗号分隔的字符串,例如ts_code=\'000001.SZ,600000.SH\'。\\r\\n\\r\\n \\r\\n\\r\\n常见问题5:ptrade和tushare股票代码后缀不兼容引起的一系列问题。\\r\\n\\r\\n问题原因:ptrade上证股票的后缀是.SS,而tushare的上证股票后缀是.SH。\\r\\n\\r\\n解决方法:注意进行上证股票的后缀转换即可。\\r\\n\\r\\n \\r\\n\\r\\n常见问题6:调用tushare数据时报错提示,Exception: 接口不存在,或者Exception: 未知的数据源。\\r\\n\\r\\n问题原因:接口名字输入错误或者使用了普通版tushare的接口,因为普通版tushare的接口比券商版的更丰富,一些接口因为合规原因在券商版中是不提供的。\\r\\n\\r\\n解决方法:注意只使用券商版tushare提供的接口,数据接口在线文档的网址如下:\\r\\n\\r\\nhttp://221.204.19.233:7173/document/2。\\r\\n\\r\\n \\r\\n\\r\\n常见问题7:报错信息No module named \'ptradeapi\'\\r\\n\\r\\n问题原因:使用了AI来生成策略代码。类似from ptradeapi import *或者import ptradeapi等写法,都是AI的幻觉。\\r\\n\\r\\n解决方法:不要尝试使用AI生成完整的策略。\\r\\n\\r\\n \\r\\n\\r\\n常见问题8:报错信息NameError: name \'pro\' is not defined。\\r\\n\\r\\n问题原因:未正确导入及配置tushare。\\r\\n\\r\\n解决方法:在策略开头按以下模板导入及配置tushare。其中sx.set_token(\'xxxxxxxxx\')中的xxx,需要替换成正确的token(可以参考常见问题9)。另外pro=sx.get_api(env=\'xxx\')中的xxx需要根据是在仿真或者生产客服端使用填写,仿真env=\'prd\',生产env=\'qa\'。\\r\\n\\r\\n示例:\\r\\n\\r\\nimport sxsc_tushare as sx\\r\\n\\r\\nsx.set_token(\'xxxxxxxxx\')\\r\\n\\r\\npro=sx.get_api(env=\'xxx\')\\r\\n\\r\\n \\r\\n\\r\\n常见问题9:Exception: 抱歉,您输入的TOKEN无效!\\r\\n\\r\\n问题原因:token输入错误,或者输入了普通版tushare的token(券商版与普通版的token并不通用,如果在普通版里使用券商版的token,也会是无效的)\\r\\n\\r\\n解决方法:正确的token可以通过查看开户邮件获取,建议采用复制粘贴的方法输入token,以避免输错。如果开户邮件已经丢失,请咨询山西证券工作人员。\\r\\n\\r\\n \\r\\n\\r\\n常见问题10:无法登录ptrade客户端,提示服务端不支持SSL或者证书错误。\\r\\n\\r\\n问题原因:PTrade软件的SSL证书过期。\\r\\n\\r\\n解决方法:从山西证券官方网站下载仿真/生产客户端安装包,进行重新安装。\\r\\n\\r\\n官方下载地址,网页拉到最下端可见客户端下载链接:\\r\\n\\r\\nhttps://www.i618.com.cn/main/companybusi/wealth/quantitativetrading/ptrade/index.shtml。\\r\\n\\r\\n \\r\\n\\r\\n常见问题11:下载策略显示成功,但实际上文件未成功下载。\\r\\n\\r\\n问题原因:开启了vpn。\\r\\n\\r\\n解决方法:将vpn关闭。\\r\\n\\r\\n \\r\\n\\r\\n常见问题12:仿真交易或者实盘交易出现重复下单现象。\\r\\n\\r\\n问题原因:使用了order_target或者order_target_value下单。这两个接口的使用有场景限制,回测可以正常使用,交易不建议使用。原因是回测场景下撮合是引擎计算的,因此成交之后持仓信息的更新是瞬时的,但交易场景下信息的更新依赖于柜台数据的返回,无法做到瞬时同步,在一笔订单无法完成交易的情况下,可能造成重复下单。\\r\\n\\r\\n解决方法:使用order、order_value或者order_market接口下单。\\r\\n\\r\\n \\r\\n\\r\\n常见问题13:回测时下单提示,WARNING - 后端服务 当前策略成交比例设置为:0.25,委托数量xxx超过当前周期可成交数量,撮合成交数量调整为xxx。\\r\\n\\r\\n问题原因:系统默认的成交比例是0.25,举例:假设下单的那一分钟的成交量是10000,如果下单数量超过2500,则系统会自动调整成交数量为2500。\\r\\n\\r\\n解决方法:将成交比例设置大一些,比如将成交比例设置为1(设置范围在0-1之间),set_volume_ratio(volume_ratio=1)。\\r\\n\\r\\n \\r\\n\\r\\n常见问题14:提示信息INFO - 当前服务器配置为:交易时间段服务器重启后,执行拉起本交易操作。\\r\\n\\r\\n问题原因:其实这个信息没问题,但总有人觉得有问题。提示的意思是,在交易时间段中如果服务器重启,策略也会自动重启。\\r\\n\\r\\n解决方法:只是一个当前策略配置的提示,不造成任何影响,无视即可。\\r\\n\\r\\n \\r\\n\\r\\n常见问题15:报错信息ERROR - 后端服务操作当日转账流水信息查询失败,错误信息为:T2SDK 362903::SendRev Error:-90009, T2Connector::Receive Connect Failed[-5, 接收超时。]\\r\\n\\r\\n问题原因:ptrade服务器与柜台间同步超时。\\r\\n\\r\\n解决方法:偶发情况,不影响策略运行的话可以不用管。\\r\\n\\r\\n \\r\\n\\r\\n常见问题16:警告信息WARNING-交易不支持set_limit_mode函数,以及类似信息。\\r\\n\\r\\n问题原因:函数有使用场景,部分函数不支持交易使用。\\r\\n\\r\\n解决方法:根据研究/回测/交易不同场景,使用支持相应场景的函数。\\r\\n\\r\\n \\r\\n\\r\\n常见问题17:ptrade的get_MACD、get_KDJ、get_RSI函数计算结果与通达信等常用行情软件不一致。\\r\\n\\r\\n问题原因:造成问题的原因有三,1.历史数据取的k线数量不足,2.复权设置与常用行情软件不一致,3.取历史数据是否包含当前周期。\\r\\n\\r\\n解决方法:\\r\\n\\r\\n1.get_history取120根k线。\\r\\n\\r\\n2.get_history默认为不复权,计算时应该将复权设置与常用软件的设置保持一致,常见使用的是前复权。如果用于回测,需注意前复权的未来函数问题。\\r\\n\\r\\n3.get_history默认不包含当前周期,假设在6月30日计算,返回的会是6月29日的数据。\\r\\n\\r\\n \\r\\n\\r\\n常见问题18:周末启动策略,日志无打印内容。\\r\\n\\r\\n问题原因:星期日不执行初始化。\\r\\n\\r\\n解决方法:无需理会,等待交易日即可。\\r\\n\\r\\n \\r\\n\\r\\n常见问题19:登录请求处理失败,服务器返回状态码:502正在尝试重连..\\r\\n\\r\\n问题原因:勾选了量化离线登录。\\r\\n\\r\\n解决方法:不要勾选量化离线登录。\\r\\n\\r\\n \\r\\n\\r\\n常见问题20:修改密码后策略停止。\\r\\n\\r\\n问题原因:修改密码有可能造成策略停止。\\r\\n\\r\\n解决方法:修改密码后看看策略是否停止,如果停止则重启一下。\\r\\n\\r\\n\\r\\n\\r\\n常见问题21:在交易中新增策略,报错服务器返回状态码:500。\\r\\n\\r\\n问题原因:具体原因不明。\\r\\n\\r\\n解决方法:重建或重新上传有问题的策略。\\r\\n\\r\\n\\r\\n\\r\\n以下几点建议有助于解决问题:\\r\\n\\r\\n1.遇到问题不要急,先多思考、多尝试自行解决。\\r\\n\\r\\n2.多仔细看ptrade的帮助文档,90%以上的问题可以在文档中找到答案。\\r\\n\\r\\n3.如果问题实在无法解决,先用文字将问题描述清楚,辅以图片说明,最好有相应代码。态度礼貌友善,不带负面情绪。\",
\"message_fmt\": \"本文系作者根据山西证券ptrade技术支持群中群友的常见提问,结合自身经验整理出多个使用PTrade时的常见问题、原因与解决方法供参考。文中的问题原因是最常见的,提供的解决方法在大多数情况下有效,但一个问题可由多个原因引发,如果按文中的解决方法操作无效,请联系山西证券工作人员寻求帮助。
声明:本文仅作为参考资料,如用户据此操作一切风险自担。
常见问题1:没有正在进行的回测,但当想新开一个回测时出现以下信息,Error: 回测运行失败, 错误码:2 错误信息: 当前回测个数超过限制。
问题原因:通常是之前的回测没有正常结束导致,有回测在后台运行,但在前台没有显示。
解决方法:一般通过重启量化环境可以解决。系统设置——量化设置——重启量化环境。
注意事项:重启量化环境会导致交易中的所有策略停止,需要手动重启。
常见问题2:使用tushare时出现如下信息,Exception: 抱歉,您每分钟最多访问该接口600次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
问题原因:调用tushare接口的频率超出了限制。
解决方法:
1.如果需要取数据的股票数量较多,不要用for循环去遍历股票列表调用tushare接口,建议一次性全部取完。
2.如果是盘中需要用到tushare数据,不要在盘中频繁调用,建议在盘前获取tushare数据存入全局变量,在盘中调用预存储的tushare数据。
常见问题3:调用tushare数据时出现如下信息,ConnectionError: HTTPConnectionPool(host=\'10.5.42.71\', port=7171): Max retries exceeded with url: / (Caused by NewConnectionError(\'<urllib3.connection.HTTPConnection object at 0x7f02377a51d0>: Failed to establish a new connection: [Errno 111] Connection refused\'))。
问题原因:tushare环境设置错误。
解决方法:改为正确的设置,仿真env=\'prd\',生产env=\'qa\'。
常见问题4:tushare取多个股票的数据时返回空的dataframe。
问题原因:ts_code入参了列表,例如ts_code=[\'000001.SZ\', \'600000.SH\']是错误的。
解决方法:ts_code正确的入参是逗号分隔的字符串,例如ts_code=\'000001.SZ,600000.SH\'。
常见问题5:ptrade和tushare股票代码后缀不兼容引起的一系列问题。
问题原因:ptrade上证股票的后缀是.SS,而tushare的上证股票后缀是.SH。
解决方法:注意进行上证股票的后缀转换即可。
常见问题6:调用tushare数据时报错提示,Exception: 接口不存在,或者Exception: 未知的数据源。
问题原因:接口名字输入错误或者使用了普通版tushare的接口,因为普通版tushare的接口比券商版的更丰富,一些接口因为合规原因在券商版中是不提供的。
解决方法:注意只使用券商版tushare提供的接口,数据接口在线文档的网址如下:
http://221.204.19.233:7173/document/2。
常见问题7:报错信息No module named \'ptradeapi\'
问题原因:使用了AI来生成策略代码。类似from ptradeapi import *或者import ptradeapi等写法,都是AI的幻觉。
解决方法:不要尝试使用AI生成完整的策略。
常见问题8:报错信息NameError: name \'pro\' is not defined。
问题原因:未正确导入及配置tushare。
解决方法:在策略开头按以下模板导入及配置tushare。其中sx.set_token(\'xxxxxxxxx\')中的xxx,需要替换成正确的token(可以参考常见问题9)。另外pro=sx.get_api(env=\'xxx\')中的xxx需要根据是在仿真或者生产客服端使用填写,仿真env=\'prd\',生产env=\'qa\'。
示例:
import sxsc_tushare as sx
sx.set_token(\'xxxxxxxxx\')
pro=sx.get_api(env=\'xxx\')
常见问题9:Exception: 抱歉,您输入的TOKEN无效!
问题原因:token输入错误,或者输入了普通版tushare的token(券商版与普通版的token并不通用,如果在普通版里使用券商版的token,也会是无效的)
解决方法:正确的token可以通过查看开户邮件获取,建议采用复制粘贴的方法输入token,以避免输错。如果开户邮件已经丢失,请咨询山西证券工作人员。
常见问题10:无法登录ptrade客户端,提示服务端不支持SSL或者证书错误。
问题原因:PTrade软件的SSL证书过期。
解决方法:从山西证券官方网站下载仿真/生产客户端安装包,进行重新安装。
官方下载地址,网页拉到最下端可见客户端下载链接:
https://www.i618.com.cn/main/companybusi/wealth/quantitativetrading/ptrade/index.shtml。
常见问题11:下载策略显示成功,但实际上文件未成功下载。
问题原因:开启了vpn。
解决方法:将vpn关闭。
常见问题12:仿真交易或者实盘交易出现重复下单现象。
问题原因:使用了order_target或者order_target_value下单。这两个接口的使用有场景限制,回测可以正常使用,交易不建议使用。原因是回测场景下撮合是引擎计算的,因此成交之后持仓信息的更新是瞬时的,但交易场景下信息的更新依赖于柜台数据的返回,无法做到瞬时同步,在一笔订单无法完成交易的情况下,可能造成重复下单。
解决方法:使用order、order_value或者order_market接口下单。
常见问题13:回测时下单提示,WARNING - 后端服务 当前策略成交比例设置为:0.25,委托数量xxx超过当前周期可成交数量,撮合成交数量调整为xxx。
问题原因:系统默认的成交比例是0.25,举例:假设下单的那一分钟的成交量是10000,如果下单数量超过2500,则系统会自动调整成交数量为2500。
解决方法:将成交比例设置大一些,比如将成交比例设置为1(设置范围在0-1之间),set_volume_ratio(volume_ratio=1)。
常见问题14:提示信息INFO - 当前服务器配置为:交易时间段服务器重启后,执行拉起本交易操作。
问题原因:其实这个信息没问题,但总有人觉得有问题。提示的意思是,在交易时间段中如果服务器重启,策略也会自动重启。
解决方法:只是一个当前策略配置的提示,不造成任何影响,无视即可。
常见问题15:报错信息ERROR - 后端服务操作当日转账流水信息查询失败,错误信息为:T2SDK 362903::SendRev Error:-90009, T2Connector::Receive Connect Failed[-5, 接收超时。]
问题原因:ptrade服务器与柜台间同步超时。
解决方法:偶发情况,不影响策略运行的话可以不用管。
常见问题16:警告信息WARNING-交易不支持set_limit_mode函数,以及类似信息。
问题原因:函数有使用场景,部分函数不支持交易使用。
解决方法:根据研究/回测/交易不同场景,使用支持相应场景的函数。
常见问题17:ptrade的get_MACD、get_KDJ、get_RSI函数计算结果与通达信等常用行情软件不一致。
问题原因:造成问题的原因有三,1.历史数据取的k线数量不足,2.复权设置与常用行情软件不一致,3.取历史数据是否包含当前周期。
解决方法:
1.get_history取120根k线。
2.get_history默认为不复权,计算时应该将复权设置与常用软件的设置保持一致,常见使用的是前复权。如果用于回测,需注意前复权的未来函数问题。
3.get_history默认不包含当前周期,假设在6月30日计算,返回的会是6月29日的数据。
常见问题18:周末启动策略,日志无打印内容。
问题原因:星期日不执行初始化。
解决方法:无需理会,等待交易日即可。
常见问题19:登录请求处理失败,服务器返回状态码:502正在尝试重连..
问题原因:勾选了量化离线登录。
解决方法:不要勾选量化离线登录。
常见问题20:修改密码后策略停止。
问题原因:修改密码有可能造成策略停止。
解决方法:修改密码后看看策略是否停止,如果停止则重启一下。
常见问题21:在交易中新增策略,报错服务器返回状态码:500。
问题原因:具体原因不明。
解决方法:重建或重新上传有问题的策略。
以下几点建议有助于解决问题:
1.遇到问题不要急,先多思考、多尝试自行解决。
2.多仔细看ptrade的帮助文档,90%以上的问题可以在文档中找到答案。
3.如果问题实在无法解决,先用文字将问题描述清楚,辅以图片说明,最好有相应代码。态度礼貌友善,不带负面情绪。\",
\"likes\": 0,
\"create_date_fmt\": \"2025-08-30 16:00:33\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 6,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-1.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_post_2' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_post_2'
- 0.0002 SELECT * FROM bbs_post WHERE `pid`=2 LIMIT 1
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_bbs_thread_2' LIMIT 1
- 0.0021 DELETE FROM bbs_cache WHERE `k`='bbs_bbs_thread_2'
- 0.0002 SELECT * FROM bbs_thread WHERE `tid`=2 LIMIT 1
- 0.0021 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_thread_2','{
\"fid\": 1,
\"tid\": 2,
\"top\": 0,
\"uid\": 1,
\"userip\": 1001364016,
\"subject\": \"PTrade系统涉及到LV2行情接口函数介绍(新版本)\",
\"create_date\": 1756540793,
\"last_date\": 1756540793,
\"views\": 477,
\"posts\": 0,
\"images\": 0,
\"files\": 0,
\"mods\": 0,
\"closed\": 0,
\"firstpid\": 2,
\"lastuid\": 0,
\"lastpid\": 2,
\"likes\": 0,
\"is_transcription\": 0,
\"allow_republications\": 1,
\"cite\": null,
\"create_date_fmt\": \"2025-08-30 15:59:53\",
\"last_date_fmt\": \"\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 6,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"forumname\": \"股市闲谈\",
\"lastusername\": \"\",
\"url\": \"thread-2.htm\",
\"user_url\": \"user-1.htm\",
\"top_class\": \"\",
\"pages\": 0
}','1762838506')
- 0.0022 REPLACE INTO bbs_cache (`k`,`v`,`expiry`) VALUES ('bbs_bbs_post_2','{
\"tid\": 2,
\"pid\": 2,
\"uid\": 1,
\"isfirst\": 1,
\"edit_num\": 0,
\"create_date\": 1756540793,
\"userip\": 1001364016,
\"images\": 0,
\"files\": 0,
\"doctype\": 1,
\"quotepid\": 0,
\"message\": \"随着越来越多的券商PTrade系统推出LV2行情,我们整理了一份PTrade系统里能调用LV2的函数说明供大家参考。\",
\"message_fmt\": \"随着越来越多的券商PTrade系统推出LV2行情,我们整理了一份PTrade系统里能调用LV2的函数说明供大家参考。\",
\"likes\": 0,
\"create_date_fmt\": \"2025-08-30 15:59:53\",
\"username\": \"admin\",
\"user_avatar_url\": \"view/img/avatar.png\",
\"user\": {
\"uid\": 1,
\"gid\": 1,
\"email\": \"admin@admin.com\",
\"username\": \"admin\",
\"realname\": \"\",
\"password\": \"8e5832b2d0c4f4f07f360ada0381e853\",
\"password_sms\": \"\",
\"salt\": \"Y8YKMZVQ742QN9A5\",
\"mobile\": \"\",
\"qq\": \"\",
\"threads\": 6,
\"posts\": 0,
\"credits\": 0,
\"golds\": 0,
\"rmbs\": 0,
\"create_ip\": 1001364016,
\"create_date\": 1756462082,
\"login_ip\": 2057195673,
\"login_date\": 1762820605,
\"logins\": 30,
\"avatar\": 0,
\"notices\": 6,
\"unread_notices\": 1,
\"signature\": \"\",
\"v\": 4,
\"v_title\": \"量化吧管理员\",
\"follows\": 0,
\"followeds\": 0,
\"create_ip_fmt\": \"59.175.154.48\",
\"create_date_fmt\": \"2025-08-29\",
\"login_ip_fmt\": \"122.158.80.153\",
\"login_date_fmt\": \"2025-11-11\",
\"groupname\": \"管理员组\",
\"avatar_url\": \"view/img/avatar.png\",
\"avatar_path\": \"\",
\"online_status\": 1,
\"prison_status\": 0,
\"prison_message\": 0,
\"prison_start_time\": 0,
\"prison_end_time\": 0
},
\"floor\": \"\",
\"allowupdate\": false,
\"allowdelete\": false,
\"user_url\": \"user-1.htm\",
\"filelist\": [],
\"classname\": \"post\"
}','1762838506')
- 0.0003 SELECT * FROM bbs_cache WHERE `k`='bbs_search_conf' LIMIT 1
- 0.0002 SELECT * FROM bbs_kv WHERE `k`='search_conf' LIMIT 1
_REQUEST: